#include "Bullet3Common/b3HashMap.h"
#ifdef __cplusplus
extern "C" {
#endif
b3HashString* bullet_Newb3HashString(char* name){
	char const * c_arg_name=(char const *)(void*)(name);
	b3HashString* wrap_out = new b3HashString(c_arg_name);
	return wrap_out;
}

bool bullet_b3HashString_equals(b3HashString* c_this,b3HashString* other){
	b3HashString const& c_arg_other=(b3HashString const&)(*other);
	bool c_out = c_this->equals(c_arg_other);
	bool wrap_out = (c_out);
	return wrap_out;
}

unsigned int bullet_b3HashString_GetFieldOfM_hash(b3HashString* c_this){
	return (unsigned int)(c_this->m_hash);
}

unsigned int bullet_b3HashString_getHash(b3HashString* c_this){
	unsigned int c_out = c_this->getHash();
	unsigned int wrap_out = (c_out);
	return wrap_out;
}

int bullet_b3HashString_portableStringCompare(b3HashString* c_this,char* src,char* dst){
	char const * c_arg_src=(char const *)(void*)(src);
	char const * c_arg_dst=(char const *)(void*)(dst);
	int c_out = c_this->portableStringCompare(c_arg_src,c_arg_dst);
	int wrap_out = (c_out);
	return wrap_out;
}

b3HashPtr* bullet_Newb3HashPtr(void* ptr){
	void const * c_arg_ptr=(void const *)(void*)(ptr);
	b3HashPtr* wrap_out = new b3HashPtr(c_arg_ptr);
	return wrap_out;
}

bool bullet_b3HashPtr_equals(b3HashPtr* c_this,b3HashPtr* other){
	b3HashPtr const& c_arg_other=(b3HashPtr const&)(*other);
	bool c_out = c_this->equals(c_arg_other);
	bool wrap_out = (c_out);
	return wrap_out;
}

unsigned int bullet_b3HashPtr_getHash(b3HashPtr* c_this){
	unsigned int c_out = c_this->getHash();
	unsigned int wrap_out = (c_out);
	return wrap_out;
}

void* bullet_b3HashPtr_getPointer(b3HashPtr* c_this){
	void const * c_out = c_this->getPointer();
	void* wrap_out = (void*)(void*)(c_out);
	return wrap_out;
}

b3HashInt* bullet_Newb3HashInt(int uid){
	int c_arg_uid=uid;
	b3HashInt* wrap_out = new b3HashInt(c_arg_uid);
	return wrap_out;
}

bool bullet_b3HashInt_equals(b3HashInt* c_this,b3HashInt* other){
	b3HashInt const& c_arg_other=(b3HashInt const&)(*other);
	bool c_out = c_this->equals(c_arg_other);
	bool wrap_out = (c_out);
	return wrap_out;
}

unsigned int bullet_b3HashInt_getHash(b3HashInt* c_this){
	unsigned int c_out = c_this->getHash();
	unsigned int wrap_out = (c_out);
	return wrap_out;
}

int bullet_b3HashInt_getUid1(b3HashInt* c_this){
	int c_out = c_this->getUid1();
	int wrap_out = (c_out);
	return wrap_out;
}

void bullet_b3HashInt_setUid1(b3HashInt* c_this,int uid){
	int c_arg_uid=uid;
	c_this->setUid1(c_arg_uid);
}

#ifdef __cplusplus
}
#endif
